|
تعلم الأسمبلي باللغه العربيه - الدرس 5 |
تعليمات وأوامر الأسمبلي
:
تتكون التعليمه الواحدة في الأسمبلي من تمثيل بسيط بالأحرف
الأنجليزيه يقابله بالأرقام تعليمة لغة آله ، تتكون كل تعليمة من ممايلي : أولاُ
جزء الأمر وهو أمر يدل على نوع العملية المطلوبة مثل ADD (للجمع) ، الجزء الثاني هو
الوسائط علماً بأن بعض التعليمات لايأخذ وسائط والجزء الآخر وسيطة واحدة فقط والبعض
الآخر أكثر من ذلك ، تحدد هذه الوسائط الشئ الذي سيعمل عليه الأمر ،
فالأمر ADD
لوحده عقيم لايدل على شئ لكن الأمر ADD AX,5 يدل على جمع الرقم 5 مع القيمة
الموجودة في المسجل AX ويوضح المثال التالي بعض الأوامر
| clc
; فقط أمر بدون
وسائط dec ax ; وسيطة واحدة فقط mov cx,dx ; وسيطتين |
لاحظ أن أي نص في شفرة الأسمبلي يأتي بعد الفاصلة
المنقوطة هو مجرد تعليق
الوسائط ممكن تكون عدة أنواع
:
1. معلومة فورية (مباشرة)
(أي ثابته) مثال : 10 / 30 / 'a'
2. مسجل (سوف يتم شرح المسجلات بالتفصيل
في الدروس القادمه ) مثال : AX / EAX / BL
3. موقع ذاكره (يتم تحديده عن طريق
العنوان) مثال : [200] / [bx] / [100]
4.متغير (وهو نفس السابق لكن بدل أن تحفظ
أو تحسب العنوان يدوياً يقوم الأسمبلر بأستبدال المتغير برقم يدل على عنوانه ) مثال
: count / VAR1 / INTVAL / STR1
مدخل الى الديبغر Debugge
:
ها قد وصلنا الى واحد من أقوى البرامج المبيته في النظام فبواسطة
اليبغ تستطيع عمل أشياء عجيبه وغريبه ، حسناً شغل الدوس وعند محث الأوامر أطبع
debug ثم أنتر وستظهر لك علامه '-' ليل على أستعداد الديبغر على أستقبال أوامرك
.

الأن دعنا نكتب هذا البرنامج
الصغير
| mov ax,2 ; نقل
العدد 2 كمعلومة مباشرة الى المسجل أي-أكس mov bx,3 ; نقل العدد 3 كمعلومة مباشرة الى المسجل بي-اكس add ax,bx ; جمع أي-اكي مع بي-اكس مع وضع الجواب في أي-اكس / أي-اكس=أي-أكس + بي-أكس |
كيف تقوم بأذخال هذا الكود :
1. عند المحث
'-' أدخل a100 أي أننا سنبدأ نكتب الكود من العنوان 100 ثم أضغط أنتر بالطبع
2.
الآن أدخل كل تعليميه ثم أضغط أنتر ومع نهاية التعليمية الأخيرة أضغط أنتر
مرتين
الأن قم بأدخال الرمز R ثم أنتر لترى حالة المسجلات
لاحظ أن
المسجل AX يساوي صفر وسترى أيضاَ ظهور التعليميه MOV ax,0002 وهي التعليميه التي
عليها الدور في التنفيذ وليس المعلومة المنفذه ، الآن قم بطباعة الرمز T ثم أنتر
لتنفيذ التعليميه التي عليها الدور هنا هي MOV AX,0002 سترى الآن أن المسجل AX أصبح
يساوي 2 وهذا مانتوقعه بالضبط وسترى أيضاً التعليميع التي عليها دور التنفيذ وهي
MOV BX,0003 أدخل الرمز T ثم أنتر لتنفيذها لترى أن المسجل BX أصبح يساوي 3 وسترى
أيضاً التعليميه التي عليها الدور في التنفيذ وهي ADD AX,BX قم بأدخال الرمز T
لتنفيذها ولاحظ كيف أن المسجل AX أصبحت قيمته مجموع العددين 2+3 وهو خمسة بينما بقى
المسجل BX يساوي 3 .
الآن بعدما عرفت كيف تكتب كود بسيط أخرج من الديبغر
بالضغط على Q ثم أدخل مرة أخرى بكتابة الأمر Debug حتى تصفر المسجلات مرة أخرى أدخل
التعليميه A100 ثم جرب تكتب كود من عندك ومع كل نهاية تعليميه أضغط أنتر وفي نهاية
التعليميه الأخيرة أضغط أنتر مرتين
( ملاحظة لترى شفرتك بلغة الآله والأسمبلي
أدخل الرمز U ثم أنتر مباشرة بعد إدخال الكود وقبل إدخال الرمز R )
أضغط R ثم
أنتر لترى المسجلات قبل تنفيذ أي عملية ولترى التعليميه التي عليها الدور في
التنفيذ أضغط T ثم أنتر لتنفذ التعليميه وترى النتائج والتعليميه التي بعدها وهكذا
ولاتنسى أذا أردت أن تدخل كود جديد الخروج والعودة مرة أخرى الى الديبغر لتصفر
المسجلات والذاكره
Go to the main of EZZUZ website...
|
|